package ocio.actions;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import ocio.utils.RellenoCombos;
import ocio.beans.Provincia;
import bd.hsqldb.BDOcio;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

/**
 * Clase a la que se redirige la petición inicial al servidor para cargar 
 * y configurar el acceso a la base de datos e inicializar datos de sesión.
 * @author Esther García Galán
 * @author Rubén Gómez Vales
 * @version 1.0 13/05/2014
 * @see ocio.beans.Cliente
 */
public class ConfigurarAction extends ActionSupport {

	private static final long serialVersionUID = 1L;
	private List<Provincia> listaProvincias = new ArrayList<Provincia>();
	private Set<Integer> listaDias = new HashSet<Integer>();

  /**
	 * Método execute() de la clase ActionSupport de Struts 2. 
	 * Carga y configura el acceso a la base de datos. Inicializa los datos de sesión.
	 * @return un string que indica la respuesta de la acción ejecutada sobre la petición del usuario
	 */
	public String execute(){
	
		new BDOcio();
		
		if (BDOcio.isBDcargada()==false){
			return "fail";
		}
		
		RellenoCombos rC = new RellenoCombos();
		
		listaProvincias = rC.getListaProvincias(false);

		listaDias = rC.getListaDias();

		Map<String,Object> sesion = ActionContext.getContext().getSession();
		sesion.put("LISTAPROV",listaProvincias);
		sesion.put("ROL", "Anonimo");
		
		//Lista provincias sin contener el literal "Todas las provincias"
		listaProvincias = rC.getListaProvincias(true);
		sesion.put("LISTAPROVSIN",listaProvincias);
		
	return "success";

	}
	
	public void setListaProvincias(List<Provincia> listaProvincias) {
		this.listaProvincias = listaProvincias;
	}

	public Set<Integer> getListaDias() {
		return listaDias;
	}

	public void setListaDias(Set<Integer> listaDias) {
		this.listaDias = listaDias;
	}

	
	
}
